package org.budo.aliyun.sdk;

import org.budo.aliyun.sdk.impl.response.DescribeInstancesResponse;
import org.budo.aliyun.sdk.impl.response.RebootInstanceResponse;

/**
 * ECS 操作接口
 * 
 * @author lmw
 */
public interface BudoAliyunEcsSdk {
    String ACTION_REBOOT_INSTANCE = "RebootInstance";

    String ACTION_DESCRIBE_INSTANCES = "DescribeInstances";

    /**
     * 重启一台实例
     * 
     * @see https://help.aliyun.com/document_detail/25502.html?spm=a2c4g.11186623.6.910.vl9psR
     * @param instanceId
     * @param forceStop
     */
    RebootInstanceResponse rebootInstance(String instanceId, Boolean forceStop);

    /**
     * 查询一台或多台实例的详细信息
     * 
     * @see https://help.aliyun.com/document_detail/25506.html?spm=5176.product25365.6.805.7FXZr7
     */
    DescribeInstancesResponse describeInstances(BudoAliyunRegion region, String[] instanceIds);
}